用python求素数的方法,以及一种算法优化 | 您所在的位置:网站首页 › 素数程序 python › 用python求素数的方法,以及一种算法优化 |
python求素数
前言方法一1、代码2、输出结果
方法二1、代码2、输出结果
前言
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数(该解释来自百度百科)。 如果要找100以内的素数,我们可以寻找100以内的非素数,即证明一个数除了1和它本身以外还可以被其他自然数整除,不能被证明的数就是素数。 方法一 1、代码代码如下: list1 = [1, 2] for i in range(2, 101): for j in range(2, i): if i % j == 0: break elif j == i-1: list1.append(i) print(list1) 2、输出结果 [1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] Process finished with exit code 0我们只需要让2到n-1中间所有的数除n,只要结果为0循环提前结束,如果n-1也验证过依然没有提前结束循环,此时这个数为素数,计入列表中。 方法二当我们遇见较大的数值,比如100000时,使用方法一的效率显然会很慢,这时候就需要对素数的特性有一个更深的了解,以此来优化算法 1、代码 list1 = [1, 2] for i in range(2, 101): for j in list1[1:]: if i % j == 0: break elif i |
CopyRight 2018-2019 实验室设备网 版权所有 |